草庐IT

java - 在Java深度生成列表n层的所有组合

全部标签

ruby - 具有命名捕获组的正则表达式在 Ruby 中获取所有匹配项

我有一个字符串:s="123--abc,123--abc,123--abc"我尝试使用Ruby1.9的新功能“命名组”来获取所有命名组信息:/(?\d*)--(?\s*)/是否有像Python的findall那样返回matchdata集合的API?在这种情况下,我需要返回两个匹配项,因为123和abc重复两次。每个匹配数据都包含每个命名捕获信息的详细信息,因此我可以使用m['number']获取匹配值。 最佳答案 命名捕获只适用于一个匹配结果。Ruby的findall类比是String#scan.您可以使用scan结果作为数组,或将

ruby - 给定数的所有因数

例如,我有4800,我想查看这个数字的所有因数。#num=thenumberyouwantfactorsofdeffactors_of(num)(1..num).collect{|n|[n,num/n]if((num/n)*n)==num}.compactenddivisors_of(4800)=>[[1,4800],[2,2400],[3,1600],[4,1200],[5,960],[6,800],[8,600],[10,480],[12,400],[15,320],[16,300],[20,240],[24,200],[25,192],[30,160],[32,150],[40,

ruby-on-rails - Rails 列表有 .first 和 .second – 有 .hundredth 或 .sixty_nineth 吗?

Rails是否有类或其他扩展允许系列中的前几个元素(和最后一个)以外的元素?这些工作:[2,45,2,14,53,23,634,346,34,46,643,634,346,34,34].fifth#->53[2,45,2,14,53,23,634,346,34,46,643,634,346,34,34].last#->34那么在哪里呢?list.sixthlist.hundredth 最佳答案 有一段时间Rails添加了这些,但是有很多controversy所以大部分都被删除了。这个实验的唯一残余是Array#forty_two:(

ruby - 如何以编程方式生成类似 Heroku 的子域名?

我们都见过有趣的子域,当您使用简单的“herokucreate”将应用程序部署到Heroku时,这些子域会自动分配给您。一些示例:blazing-mist-4652、electric-night-4641、morning-frost-5543、radiant-river-7322等。它们似乎都遵循形容词-名词-4位数字的模式(大部分)。他们是不是简单地输入了一些形容词和名词的字典,然后在你推送应用程序时随机选择它们的组合?是否有Rubygem可以完成此任务,也许提供了一个可以按词性搜索的字典,或者这是需要手动完成的事情吗? 最佳答案

Ruby - 关键字参数 - 你能把所有的关键字参数当作一个散列吗?如何?

我有一个看起来像这样的方法:defmethod(:name=>nil,:color=>nil,shoe_size=>nil)SomeOtherObject.some_other_method(THEHASHTHATTHOSEKEYWORDARGUMENTSWOULDMAKE)end对于任何给定的调用,我可以接受可选值的任意组合。我喜欢命名参数,因为我只需查看方法的签名即可了解哪些选项可用。我不知道我在上面的代码示例中用大写字母描述的内容是否有快捷方式。在过去,它曾经是:defmethod(opts)SomeOtherObject.some_other_method(opts)end优雅

ruby - 类似 tap 的组合方法,但能够返回不同的值?

我正在经历一个尝试避免临时变量和过度使用条件的阶段,在这个阶段我可以使用更流畅的编码风格。我非常喜欢在想要获取需要返回的值的地方使用#tap,但在返回它之前对其进行一些处理。deffluid_methodsomething_complicated(a,b,c).tapdo|obj|obj.update(:x=>y)endendvs。程序:defnon_fluid_methodobj=something_complicated(a,b,c)obj.update(:x=>y)obj#显然上面的示例很简单,但这在ruby​​社区中仍然是一种非常常见的编码风格。有时我也会使用#inject通过

ruby - 在 Sinatra 中,你如何制作一个 "before"过滤器来匹配除某些路由之外的所有路由

我有一个RubySinatra应用程序,我有一些代码需要在除少数异常(exception)情况外的所有路由上执行。我该怎么做?如果我想在选定的路由(白名单样式)上执行代码,我会这样做:['/join',"/join/*","/payment/*"].eachdo|path|beforepathdo#somecodeendend我该如何反其道而行之(黑名单样式)?我想匹配除'/join'、'/join/*'和'/payment/*'之外的所有路由 最佳答案 负面前瞻:before/^(?!\/(join|payment))/do#..

ruby - 如何在 Ruby 中获取 `required` 的文件列表?

这纯粹是一个实验,但我想知道是否有可能通过某种元编程在运行时获取require的gem列表。例如,假设我有:require'rubygems'require'sinatra'require'nokogiri'#don'tknowwhattodohere如何在运行时打印出以下内容?thisappneedsrubygems,sinatra,nokogiri 最佳答案 您不能完全做到这一点,因为需要一个文件可能需要其他文件,而Ruby无法区分您需要的文件和其他人需要的文件。p>您可以查看$LOADED_FEATURES以获取所需的每一项内

ruby-on-rails - 如何拥有多个版本的 Ruby 和 Rails,以及它们在 Windows 上的组合?

既然Windows不支持rvm(Ruby版本管理器),那我们怎么办Ruby1.8.7,Rails2.3.8Ruby1.8.7,Rails3.0.0Ruby1.9.2,Rails3.0.0在同一台电脑上?可以用虚拟机,但是有点麻烦。 最佳答案 使用uru.它是一个多平台的ruby​​环境管理器。您可以在此处下载Windows版本:https://bitbucket.org/jonforums/uru/wiki/Downloads安装工具假设C:\tools在PATH上并且uru_rt.exe被提取到C:\toolsC:\tools>u

ruby-on-rails - 从 schema.rb 生成迁移文件

我希望从schema.rb生成一个迁移文件。是否可以?目前我有很多迁移文件,想将所有内容合并到一个主迁移文件中。我还认为我可能在某个时候不小心删除了一个迁移文件。谢谢你的帮助 最佳答案 您可以将schema.rb复制并粘贴到迁移中并回溯它(例如更改日期),这样现有的数据库就不会运行它。创建此迁移后,您可以删除所有旧迁移。我不同意Andrew不应该删除迁移的观点。迁移总是基于模型类的变化而意外中断,修复它们非常重要。由于我确定您正在使用版本控制,因此如果您需要它们以供引用,您可以随时回顾历史。